package com.excel.service;



import com.excel.service.gernerate.OrderScrenAdvertisementCollection;
import com.excel.service.gernerate.OrderScrenAdvertisementLongExcel;

import java.io.Writer;
import java.util.Collection;
import java.util.List;

/** 
 * 屏信息导出
 * @author guobaolin 
 * @date 2016年8月17日
 * @time 上午10:30:56 
 */
public interface ScreenInfoExportService {

	/**
	 * 获取屏统计信息
	 * @param orderId 订单号
	 * @param clientId 媒体商ID
	 * @return
	 */
//	List<OrderScreenExportExcel> queryExportExcel(String orderId, Long clientId, String times, Boolean isHistory);
	
//	List<OrderSimpleDate> queryForDate(String orderId, String times, Boolean isHistory);
	
//	List<OrderScrenAdvertisementLongExcel> queryForAdvertisement(String orderId, Long clientId, String times, Boolean isHistory);
	
	List<OrderScrenAdvertisementCollection> queryForAdCollection(String orderId, String times, Boolean isHistory);

	Boolean  isHistoryByQueryOrder(String orderId, String year);


	public void exportExcelWithAdvertisementTemplate(Collection<OrderScrenAdvertisementLongExcel> dataset, int dayNum, Float discount, Double actualPrice,
                                                     String betweenDay, Writer out, String pattern, Collection<OrderScrenAdvertisementCollection> collectionset);
//	public void exportExcelFromTemplate(Collection<OrderScreenExportExcel> dataset, int dayNum,
//                                        String betweenDay, Writer out, String pattern);

	/**
	 * 判断订单在某个阶段是否有排除在外的屏
	 * @param orderId
	 * @param sequence
	 * @return
	 */
//	boolean queryHasExcludeScreen(String orderId, int sequence);

	/**
	 * 获得对应的销售折扣,如果存在
	 * @param orderId
	 * @return
	 */
	Float queryDiscount(String orderId);

	Double queryOrderActualPrice(String orderId);

	Double queryAdServicePrice(String orderId, String times, Boolean isHistory);

}
